//! 笔信息工具模块
//! 
//! 提供笔相关的信息处理功能

use crate::objects::BI;
use serde::{Deserialize, Serialize};

/// 笔信息工具
pub struct BIInfo;

impl BIInfo {
    /// 获取笔的统计信息
    pub fn get_bi_stats(_bis: &[BI]) -> BIStats {
        // todo! 实现笔统计信息计算
        todo!()
    }

    /// 分析笔的特征
    pub fn analyze_bi_features(_bi: &BI) -> BIFeatures {
        // todo! 实现笔特征分析
        todo!()
    }
}

/// 笔统计信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BIStats {
    /// 笔的数量
    pub count: usize,
    /// 平均长度
    pub avg_length: f64,
    /// 平均力度
    pub avg_power: f64,
}

/// 笔特征
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BIFeatures {
    /// 长度
    pub length: f64,
    /// 力度
    pub power: f64,
    /// 角度
    pub angle: f64,
} 